#pragma once

class Des
{
	unsigned int m_encKey[32];
	unsigned int m_decKey[32];

	public:
	Des(){}

	void setDes(unsigned char* pkey);

	void decrypt(unsigned char* pblock,int index=0);

	void encrypt(unsigned char* pblock,int index=0);

	void generateWorkingKey(bool encrypting,unsigned char* key,int off, unsigned int* newKey);

	void desFunc(unsigned int* wKey, unsigned char* inp, int inOff,unsigned char* out, int outOff);
};
